package org.chnxi.study.design.adapter;

/**
 * 适配器模式：
 * 将一个类的接口转换成客户希望的另一个接口。此处模拟将Apaptee的request方法转换为Computer需要的net，通过Adapter实现
 */
public class Computer {

    public void net(NetworkToUsb adapter){
        //上网的具体实现，找一个转换器
        adapter.handlerRequest();
    }

    public static void main(String[] args) {
        System.out.println("-------通过继承方式实现---------");
        Computer computer = new Computer();
        Adapter adapter = new Adapter();
        computer.net(adapter);

        System.out.println("-------通过组合方式实现---------");
        Computer computer1 = new Computer();
        Adaptee adaptee = new Adaptee();
        Adapter2 adapter2 = new Adapter2(adaptee);
        computer1.net(adapter2);
    }

}
